[BLKTAP] Remove unnecessary TLB flush from blktap driver.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 29 Sep 2006 10:17:29 +0000 (11:17 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Fri, 29 Sep 2006 10:17:29 +0000 (11:17 +0100)
blktap_poll is calling tlb_flush_all() in its main ring buffer polling
loop.  This seems to be superfluous: the hypervisor should be
performing
any necessary tlb flushes on grant table operations performed by the
back-end.  Even a simple memory barrier is unnecessary here as the
RING_PUSH_REQUESTS() call performs a wmb() anyway.

And tlb_flush_all() is not exported to modules, so this call prevents
blktap from building as a module.  Just remove it.

Signed-off-by: Stephen Tweedie <sct@redhat.com>
linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c

index 41d7bc66af675cd9085b99e279da5e623a81d380..bfd8dfb4323fa8f5c184eeb30b799e0a840f117d 100644 (file)
@@ -692,7 +692,6 @@ static unsigned int blktap_poll(struct file *filp, poll_table *wait)
 
        poll_wait(filp, &info->wait, wait);
        if (info->ufe_ring.req_prod_pvt != info->ufe_ring.sring->req_prod) {
-               flush_tlb_all();
                RING_PUSH_REQUESTS(&info->ufe_ring);
                return POLLIN | POLLRDNORM;
        }